#ifndef XBUTTON_H
#define XBUTTON_H

#ifdef XEXPORTING
#define XEXPORT_DLL __declspec(dllexport)
#else
#define XEXPORT_DLL __declspec(dllimport)
#endif

#include <XGui\XWidget.h>


class XEXPORT_DLL XPushButton : public XWidget
{
private:
	bool Down;

	void _loadTextureVertices();
public:
	XPushButton(XHash hash, XWindow* window);

	void SetGeometry(XRectangle rect);
	
	bool IsDown();
	void Update(XInputModule* input);

};

class XEXPORT_DLL XRadioButton : public XWidget
{
private:
	bool Checked;

	void _loadTextureVertices();
public:
	XRadioButton(XHash hash, XWindow* window);

	void SetGeometry(XRectangle rect);

	void SetChecked();
	void SetUnchecked();
	bool IsChecked();
	void Update(XInputModule* input);
};

class XEXPORT_DLL XCheckBox : public XWidget
{
private:
	bool Checked;

	void _loadTextureVertices();
public:
	XCheckBox(XHash hash, XWindow* window);

	void SetGeometry(XRectangle rect);

	void SetChecked();
	void SetUnchecked();
	bool IsChecked();
	void Update(XInputModule* input);
};

#endif